草庐IT

linux - 最常用IP地址bash脚本的Apache访问日志

所以我在apache日志文件上运行bash脚本我可以对IP地址进行排序并显示最常见的但它显示在页面底部而不是顶部我如何从最高到最低显示它这是我目前的脚本cataccess_log.txt|awk'{print$1}'|uniq-c|sort-n-k1|tail在我的txt文件中我有10.23.234.0250.40.56.788.45.98.25010.23.234.0250.40.56.788.45.98.25010.23.234.0250.40.56.7810.23.234.0250.40.56.7810.23.234.010.23.234.0输出是28.45.98.2504250

c# - 如何在 C# 中运行 Windows bash

我想在bash(Windows中的Linux子系统)中运行以下命令:bash-c"ls"然后像这样在C#中使用它:ProcessStartInfoinfo=newProcessStartInfo("bash","-c\"ls\"");Processp=Process.Start(info);p.WaitForExit();但它给了我下面的异常(exception):System.ComponentModel.Win32ExceptionwasunhandledErrorCode=-2147467259HResult=-2147467259Message=Thesystemcannotf

linux - 为什么 `timeout 2 timeout 1 bash`卡住了

我正在研究Linuxshell中的timeout命令。当我尝试timeout1bash时,bash将运行并在1秒后终止。当我尝试timeout2timeout1yes时,程序yes将运行1秒并被第二个timeout杀死。但是当我尝试timeout2timeout1bash时,它卡住了。没有出现bashshell,即使我按Ctrl+C,它也会继续运行。我知道在一个命令中写两个timeout是没有用的。我只是想知道为什么会这样。 最佳答案 这是相同行为的另一个例子:strace超时1bash即使您中断了strace,bash也会继续运行

linux - Bash 终端重定向到另一个终端

我有netcat端口监听端口1501,我想将该端口上接收到的输入通过管道传输到新的终端窗口。我知道这是个坏主意,因为基本上那个端口上的任何人都可以控制机器,但我想弄清楚是否可以这样做。任何人都知道如何。到目前为止,我已经尝试过了。数控-l1500|xterm或者数控-l1500|xterm-e"窗口名称"还尝试以简单的方式重定向到gnome-terminal。我能做到数控-l1500|grep"SOMEKEYWORD"成功。有什么想法吗?-TJ 最佳答案 你有两个问题。首先是xterm和gnome-terminal不是提供提示和接受

linux - 以正确的时间延迟重播 bash session

编辑(因为这看起来很重要,所以放在最前面,详情见下文):我需要脚本来实际执行命令,而不仅仅是显示记录的内容!据我所知,脚本实用程序不会这样做。所以像自动热键这样的东西,只适用于bash和linux,记录了时间信息。问题是:我想录制和回放bashsession,在按键之间有准确的时间延迟等等。例如,如果我运行一个名为xxx的程序,然后在11.4秒后使用Ctrl+C中断它,然后在退出后3.4秒运行一个名为yyy的程序xxx,我希望重播做同样的事情(在11.4秒后使用Ctrl+C打破xxx,等待3.4s然后运行​​yyy).我不需要记录鼠标移动,因为我感兴趣的所有记录都发生在单个bashse

linux - lockfile-create 在 bash 脚本中不起作用

这可能是一个非常简单的问题,但我不明白为什么会这样。当我调用lockfile-create--use-pid--retry0/tmp/my_lock_file它返回0,下次运行时它会按预期返回一些其他代码(4),因为它已经创建了锁定文件。但是当我将相同的代码包装在bash脚本文件中时,它总是返回0作为退出代码。有人知道为什么它不起作用吗?更新:完整的bash文件内容#!/bin/bashLOCK=alertlockfile-create--use-pid--retry0$LOCKLOCK_CREATED=$?echo"Lockfilecreationstatus$LOCK_CREATE

linux - MPD:使用 Linux bash 脚本接收实际的 mpd-status

我想知道如何使用linuxbash脚本接收mpd播放器的实际状态。我知道如何启动和停止播放器...#!/bin/bashmpcplaympcvolume+1mpcstop...但我需要知道mpd是否正在播放歌曲。当前的音量设置也很有趣。我尝试使用mpcstatus=cat/var/tmp/mpd_status或actvol=cat/var/tmp/mpd_volume接收它,但文件不存在。我正在使用Volumio/RaspberryPi上的Debian。 最佳答案 我知道了!播放:ifmpcstatus|grepplaying>/d

linux - Bash while 循环意外停止

我正在分析两个具有我不理解的行为的脚本:#/bin/bashtijd=${1-60}oud=`ls-l$MAIL`while:;donieuw=`ls-l$MAIL`echo$oud$nieuwsleep$tijddone|{readabrest;echo$a;echo$b;echo$rest;}此脚本中的while循环在一次迭代后停止。#/bin/bashtijd=${1-60}oud=`ls-l$MAIL`while:;donieuw=`ls-l$MAIL`echo$oud$nieuwsleep$tijddone|cat此脚本中的while循环是无限的。有什么区别?我认为这是管道和

linux - 在 Bash 中,如何在命令失败后不创建重定向输出文件

通常我们可以将命令输出重定向到文件,如下所示:cata.txt>>output.txt正如我所尝试的,如果cat失败,output.txt仍将被创建,这不是我所期望的。我知道我可以这样测试:if["$?"-ne"0"];thenrmoutput.txtfi但是当我的cat执行之前已经有这样的output.txt时,这可能会导致一些开销问题。所以我还需要在cat之前存储output.txt状态,如果在cat执行之前已经有这样的output.txt,我不应该rmoutput.txt错误......但在竞争条件上可能仍然存在问题,如果任何其他进程在我的cat之前非常接近地创建此output.

linux - 使用 fdisk 的 Bash 脚本

在用Packer制作的ami上使根卷变大后,我遇到了这个bash脚本来扩展fs。有人可以解释一下heredoc中fdisk选项的含义吗?#!/bin/bashfdisk/dev/xvda谢谢! 最佳答案 要确定它们的含义,请查看fdisk的内置帮助。细节可能因您的实现而异;对于我来说,它看起来像这样:Command(mforhelp):mHelp:DOS(MBR)atoggleabootableflagbeditnestedBSDdisklabelctogglethedoscompatibilityflagGenericddelet